package at.guigu.aop;

import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.AfterThrowing;
import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Pointcut;
import org.springframework.stereotype.Component;

@Aspect
@Component
public class MyAdvice {

    // 定义切入点：即定义公共功能在哪执行
    //此处代表在update()方法处执行
    @Pointcut("execution(void at.guigu.service.BrandService.update())")
    private void pt(){}

    // 通知方法（即增强方法）
    // 抛出异常后通知
    @AfterThrowing(value = "pt()",throwing = "e")
    public void method1(Throwable e) {
        System.out.println(e);
        System.out.println(System.currentTimeMillis());
    }
}